﻿#define _CRT_SECURE_NO_WARNINGS 1

#include <unordered_map>
#include <vector>
#include <set>
#include <algorithm>
#include <iostream>
using namespace std;

int main()
{
	// set<int,int> hash1;
	// set<int,int> hash2;
	// set<int,int> ret;

	// int n = 0 , m = 0 ;
	// cin >> n >> m;

	// for(int i = 0;i < n;++i)
	// {
	//     int x = 0;
	//     cin >> x;
	//     hash1[x] = 1;
	// }

	// for(int i = 0;i < m;++i)
	// {
	//     int x = 0;
	//     cin >> x;
	//     ++hash2[x] = 1;
	// }

	//unordered_map<int,int> ret;
	vector<int> hash;
	int n = 0, m = 0;
	cin >> n >> m;

	for (int i = 0; i < n; ++i)
	{
		int x = 0;
		cin >> x;
		hash.push_back(x);
	}

	for (int i = 0; i < m; ++i)
	{
		int x = 0;
		cin >> x;
		if (find(hash.begin(), hash.end(), x) == hash.end())
			hash.push_back(x);
	}
	sort(hash.begin(), hash.end());
	for (auto& e : hash)
	{
		cout << e << ' ';
	}

	return 0;
}
// 64 位输出请用 printf("%lld")